package com.gjs.intranet.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gjs.common.enums.entity.CurrencyEnum;
import com.gjs.common.enums.entity.LibraryProjectTypeEnum;
import com.gjs.common.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 项目表
 * </p>
 *
 * @author JC_Ho
 * @since 2022-04-11
 */
@Getter
@Setter
@TableName("library_project")
@ApiModel(value = "LibraryProject对象", description = "项目表")
public class LibraryProject extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("图书表ID，file_type为 数字资源 时必填")
    @TableField("book_id")
    private Long bookId;

    @ApiModelProperty("统一序列号(建议由ISBN/ISSN/CSSN + 项目号组成，因为期刊没有版次和印次)")
    @TableField("union_project_sn")
    private String unionProjectSn;

    @ApiModelProperty("ERP中的项目号")
    @TableField("erp_project_sn")
    private String erpProjectSn;

    @ApiModelProperty("项目类型（图书/期刊）")
    @TableField("project_type")
    private LibraryProjectTypeEnum projectType;

    @ApiModelProperty("出版日期")
    @TableField("publish_date")
    private LocalDateTime publishDate;

    @ApiModelProperty("本次印刷日期")
    @TableField("print_date")
    private LocalDateTime printDate;

    @ApiModelProperty("书名")
    @TableField("book_name")
    private String bookName;

    @ApiModelProperty("图书定价（单位：分）")
    @TableField("price")
    private Integer price;

    @ApiModelProperty("定价币种：如人民币CNY、HKD（港元）、MOP（澳门元）、TWD（新台币）、USD（美元）、EUR（欧元）")
    @TableField("currency")
    private CurrencyEnum currency;

    @ApiModelProperty("装订工艺（胶装、骑马钉等）")
    @TableField("binding")
    private String binding;

    @ApiModelProperty("责任编辑姓名")
    @TableField("editor_name")
    private String editorName;

    @ApiModelProperty("责任编辑关联用户ID（用户通过责编手机号自动注册并回填用户ID）")
    @TableField("editor_user_id")
    private Long editorUserId;

    @ApiModelProperty("责任技术编辑（印务中心）")
    @TableField("copy_editor")
    private String copyEditor;

    @ApiModelProperty("印制单位（印厂）")
    @TableField("printing_house")
    private String printingHouse;

    @ApiModelProperty("版次(图书项目必填)")
    @TableField("book_edition_num")
    private Integer bookEditionNum;

    @ApiModelProperty("印次(图书项目必填)")
    @TableField("book_printing_num")
    private Integer bookPrintingNum;

    @ApiModelProperty("期次（如2021年第5期总第375期）(杂志项目必填)")
    @TableField("magazine_term")
    private String magazineTerm;

}
